
// 定义 starter.controllers 模块

angular.module('starter.controllers', [])

// 控制器：DashCtrl   空的
.controller('DashCtrl', function($scope) {})

// 控制器：ChatsCtrl
.controller('ChatsCtrl', function($scope, Chats) {
  // With the new view caching（储藏） in Ionic, Controllers are only called （继承）
  // when they are recreated or on app start, instead of every page change.
  // To listen for when this page is active (for example, to refresh data 刷新日期),
  // listen for the $ionicView.enter event:
  //
  //$ ionicView.enter   该观点已经全面进入，现在是活动视图。
//此事件将触发，无论是第一次负荷或缓存的视图。
  // 类似于Android的activity中的onStart（）方法。
  //$scope.$on('$ionicView.enter', function(e) {
  //});
  
  $scope.chats = Chats.all();  // 保存所有联系人的信息，通过$scope.chats显示在视图里
  console.log($scope.chats);
  // Chats 是services.js 定义的服务
  //  remove() 是Chats 服务里的一个方法，此方法用于删除数组元素
  $scope.remove = function(chat) {
    Chats.remove(chat);
  };
})
// 控制器 ： ChatDetailCtrl   $stateParams ： 返回的是一个对象，对象的内容是联系人的id
.controller('ChatDetailCtrl', function($scope, $stateParams, Chats) {
  console.log($stateParams);
  //打印出： Object {chatId: "0"} 

  //  通过传入id，调用服务里面的get方法，当前被选中联系人的信息
  //  把详情得到后放入 $scope.chat 
  //  路由里面指定了控制器的名称，所以才会渲染不同的页面
  $scope.chat = Chats.get($stateParams.chatId);  // 服务器里面的get方法
  console.log($scope.chat);
})
// 控制器： AccountCtrl
.controller('AccountCtrl', function($scope) {
  $scope.settings = {
    enableFriends: true
  };
});
